import os

# 自定义的比较函数，决定排序的顺序
def cmp(s1, s2):
    return s1 + s2 > s2 + s1

def solve(input_file, output_file):
    # 读取输入数据
    with open(input_file, 'r') as f:
        n = int(f.readline())  # 读取数字个数
        a = f.readline().split()  # 读取数字列表

    # 使用自定义的比较函数排序
    a.sort(key=lambda x: x*10, reverse=True)  # 使用 x*10 来模拟比较的效果

    # 拼接排序后的数字
    result = ''.join(a)

    # 输出结果到文件
    with open(output_file, 'w') as f:
        f.write(result + '\n')

# 主函数，处理文件目录和读取输出
def process_files(input_directory, output_directory):
    # 确保输出目录存在
    os.makedirs(output_directory, exist_ok=True)

    # 获取所有 .in 文件
    input_files = [f for f in os.listdir(input_directory) if f.endswith('.in')]

    for input_file in input_files:
        input_filepath = os.path.join(input_directory, input_file)
        output_filepath = os.path.join(output_directory, input_file.replace('.in', '.out'))

        # 调用 solve 函数处理每个文件
        solve(input_filepath, output_filepath)

        print(f"输出文件已生成并保存到 {output_filepath}")

# 目录路径
input_directory = r"C:\Users\ASUS\Desktop\2024年新生赛出题\2024年新生赛出题(非大一组)\C题\C题_input"
output_directory = r"C:\Users\ASUS\Desktop\2024年新生赛出题\2024年新生赛出题(非大一组)\C题\C题_output"

# 处理所有输入输出文件
process_files(input_directory, output_directory)
